package map;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class MapDemo3 {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("语文",99);
        map.put("数学",100);
        map.put("英语",88);
        map.put("物理",96);
        map.put("化学",99);
        System.out.println(map);

        /**
         * 遍历所有的key
         * Set<K> keySet()
         */
//        Set<String> keySet = map.keySet();
//        //遍历所有的key
//        for (String key : keySet) {
//            System.out.println("key:"+ key);
//        }
        Set<String> keySet = map.keySet();
        for(String key : keySet){
            System.out.println("key:"+ key);
        }
        System.out.println("=====================");
        /**
         * 遍历所有的值：
         * 以集合Collection<>的形式返回，且无序
         */
        Collection<Integer> values = map.values();
        for(Integer value : values){
            System.out.println("value:"+ value);
        }
        System.out.println("=====================");
        /**
         * 遍历所有的键值对(Entry)：
         * Set<Map.Entry<K,V>> entrySet()
         */
//        Set<Map.Entry<String, Integer>> entrySet = map.entrySet();
        Set<Map.Entry<String,Integer>> entrySet = map.entrySet();
        for (Map.Entry<String, Integer> e : entrySet){//e代表每一个键值对
            String key = e.getKey();
            Integer value = e.getValue();
            System.out.println("key:"+ key + " value:"+ value);
        }
    }
}
